/**
 * 作者: wgx
 * 日期: 2024-12-16 14:53:37
 * 备注: 服务器列表
 */
package com.motu.monstercity.module.common.servermanager;

import io.vertx.core.json.JsonObject;

public class ServerInfoModel {
    protected int id; // id
    protected int serverId; // 服务器id
    protected int serverId2; // 合服服务器id
    protected String serverName; // 服务器名字
    protected byte serverStatus; // 服务器状态
    protected byte isDefault; // 是否推荐服
    protected byte isWorldChat; // 是否开启跨服聊天
    protected byte isMerged; // 是否合服 (已经被合服了，实际上已经没这个服务器id了)
    protected long startTime; // 开服时间
    protected long actStartTime; // 活动流开始时间
    protected int actGroup; // 活动流分组id
    protected String des; // 维护状态描述 (json格式，设置多语言)

    public ServerInfoModel() {
    }

    public ServerInfoModel(JsonObject obj) {
        id = obj.containsKey("id") ? obj.getInteger("id") : 0;
        serverId = obj.containsKey("server_id") ? obj.getInteger("server_id") : 0;
        serverId2 = obj.containsKey("server_id2") ? obj.getInteger("server_id2") : 0;
        serverName = obj.containsKey("server_name") ? obj.getString("server_name") : "";
        serverStatus = obj.containsKey("server_status") ? obj.getInteger("server_status").byteValue() : 0;
        isDefault = obj.containsKey("is_default") ? obj.getInteger("is_default").byteValue() : 0;
        isWorldChat = obj.containsKey("is_world_chat") ? obj.getInteger("is_world_chat").byteValue() : 0;
        isMerged = obj.containsKey("is_merged") ? obj.getInteger("is_merged").byteValue() : 0;
        startTime = obj.containsKey("start_time") ? obj.getLong("start_time") : 0;
        actStartTime = obj.containsKey("act_start_time") ? obj.getLong("act_start_time") : 0;
        actGroup = obj.containsKey("act_group") ? obj.getInteger("act_group") : 0;
        des = obj.containsKey("des") ? obj.getString("des") : "";
    }

    public int getId() {
        return id;
    }

    public int getServerId() {
        return serverId;
    }

    public int getServerId2() {
        return serverId2;
    }

    public String getServerName() {
        return serverName;
    }

    public byte getServerStatus() {
        return serverStatus;
    }

    public byte getIsDefault() {
        return isDefault;
    }

    public byte getIsWorldChat() {
        return isWorldChat;
    }

    public byte getIsMerged() {
        return isMerged;
    }

    public long getStartTime() {
        return startTime;
    }

    public long getActStartTime() {
        return actStartTime;
    }

    public int getActGroup() {
        return actGroup;
    }

    public String getDes() {
        return des;
    }

}
